package com.ftg.learn.chapter02.ee.service;

import com.ftg.learn.chapter02.ee.domain.SysDept;
import com.ftg.learn.chapter02.ee.util.vo.PageVo;
import com.ftg.learn.chapter02.ee.util.web.R;
import com.ftg.learn.chapter02.ee.vo.SysUserDeptVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 部门的业务处理实例
 *
 * @author kangjx
 * @version 1.0
 * @date 2024/1/2 上午9:06
 */
public interface SysDeptService {


    /**
     * 添加部门
     * @param dept  部门信息
     * @return  个数
     */
    R<Integer> addDept(SysDept dept);

    /**
     * 显示部门用户信息
     * @return R
     */
    R<List<SysUserDeptVo>> showDeptUser();

    /**
     * 根据id逻辑删除部门
     * @param id 部门id
     * @return  受影响的行数
     */
    R<Integer> logicDeleteById(Integer id);

    /**
     * 部门信息列表功能  (模糊查询 、 分页 、 数据显示)
     * @param dname  部门名称
     * @param statue 状态（0 可用  1 不可用）
     * @param pageNum  当前页码
     * @param pageSize 每页显示的条数
     * @return R
     */
    R<PageVo<SysDept>> list(String dname, Integer statue, Long pageNum, Long pageSize);

}
